import { format as format_fns } from 'date-fns';
import zh_cn from 'date-fns/locale/zh_cn';

/**
 * 时间戳转换日期
 * @see [dateformat](https://www.npmjs.com/package/dateformat)
 * @param time 时间戳
 * @param mask 转换之后的格式(默认为:YYYY-MM-DD HH:mm:ss---->2019-01-14 13:46:08)
 * | 名称                    |  格式  | 说明                  |
 * |-------------------------|-------|----------------------------------|
 * | 月                      | M     | 1, 2, ..., 12                    |
 * |                         | MM    | 01, 02, ..., 12                  |
 * |                         | MMM   | 1月, 2月, ..., 12月               |
 * |                         | MMMM  | 一月,二月, ..., 十二月 |
 * | 季度                    | Q     | 1, 2, 3, 4                       |
 * | 月的天数                 | D     | 1, 2, ..., 31                    |
 * |                         | DD    | 01, 02, ..., 31                  |
 * | 年的天数                 | DDD   | 1, 2, ..., 366                   |
 * |                         | DDDD  | 001, 002, ..., 366               |
 * | 星期的天数               | d     | 0, 1, ..., 6                     |
 * |                         | dd    | 一, 二, ..., 日                  |
 * |                         | ddd   | 周一, 周二, ..., 周日               |
 * |                         | dddd  | 星期一, 星期二, ..., 星期日    |
 * | 国际标准化组织周日        | E     | 1, 2, ..., 7                     |
 * | 国际标准化组织周          | W     | 1, 2, ..., 53                    |
 * |                         | WW    | 01, 02, ..., 53                  |
 * | 年                      | YY    | 00, 01, ..., 99                  |
 * |                         | YYYY  | 1900, 1901, ..., 2099            |
 * | 国家标准化组织年          | GG    | 00, 01, ..., 99                  |
 * |                         | GGGG  | 1900, 1901, ..., 2099            |
 * | 上午/下午                | A     | 上午, 下午                           |
 * |                         | a     | 上午, 下午                           |
 * |                         | aa    | 上午, 下午                       |
 * | 小时                    | H     | 0, 1, ... 23                     |
 * |                         | HH    | 00, 01, ... 23                   |
 * |                         | h     | 1, 2, ..., 12                    |
 * |                         | hh    | 01, 02, ..., 12                  |
 * | 分钟                    | m     | 0, 1, ..., 59                    |
 * |                         | mm    | 00, 01, ..., 59                  |
 * | 秒                      | s     | 0, 1, ..., 59                    |
 * |                         | ss    | 00, 01, ..., 59                  |
 * | 1/10 of second          | S     | 0, 1, ..., 9                     |
 * | 1/100 of second         | SS    | 00, 01, ..., 99                  |
 * | 毫秒                    | SSS   | 000, 001, ..., 999               |
 * | 时区                     | Z     | -01:00, +00:00, ... +12:00       |
 * |                          | ZZ    | -0100, +0000, ..., +1200         |
 * | 秒的时间戳                | X     | 512969520                        |
 * | 毫秒的时间戳              | x     | 512969520900                     |
 * @example format(time,mask);
 */
export default function format(time: number, mask: string) {
	return format_fns(time, mask, { locale: zh_cn });
}
